package com.lyy.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lyy.common.constant.Token;
import com.lyy.system.pojo.SysVcode;

import java.util.List;
import java.util.Map;

/**
 * 发送消息记录最新一条(SysVcode)表服务接口
 *
 * @author Yw
 * @since 2021-02-02 17:48:39
 */
public interface SysVcodeService extends IService<SysVcode> {
    /**
     * 添加发送消息记录最新一条
     */
    void createSysVcode(SysVcode sysVcode);

    /**
     * 根据主键修改发送消息记录最新一条
     */
    void updateSysVcode(SysVcode sysVcode);

    /**
     * 根据主键删除发送消息记录最新一条
     *
     * @param username 手机号码
     * @return
     */
    void deleteSysVcode(SysVcode sysVcode);

    /**
     * 根据主键查询发送消息记录最新一条详情
     *
     * @param username 手机号码
     * @return
     */
    SysVcode getSysVcode(SysVcode sysVcode);

    /**
     * 批量添加发送消息记录最新一条
     *
     * @param sysVcodes
     */
    int batchInsert(List<SysVcode> sysVcodes);

    /**
     * 批量修改发送消息记录最新一条
     *
     * @param sysVcodes
     */
    int batchUpdate(List<SysVcode> sysVcodes);

    /**
     * 查询发送消息记录最新一条列表
     *
     * @param sysVcode
     */
    List<SysVcode> selectSysVcodeList(SysVcode sysVcode);

    /**
     * 查询发送消息记录最新一条数量
     *
     * @param sysVcode
     */
    int selectSysVcodeCount(SysVcode sysVcode);


    /**
     * 获取Token
     *
     * @param username
     * @return
     */
    Token getToken(String username);

    /**
     * 判断当前用户是否在白名单
     *
     * @param username
     */
    int checkWhitePhone(String username);

    /**
     * 获取短信验证码
     *
     * @param username
     */
    String getPhoneCode(String username);

    /**
     * 查询短信验证码
     *
     * @param username
     */
    SysVcode getVcodeById(String username);

    /**
     * 导入发送消息记录最新一条excel
     *
     * @param sysVcodes
     */
    List<Map<String, String>> importSysVcodeExcel(List<SysVcode> sysVcodes);

}